A Local Area Network (LAN) is a communications network that typically serves users within a confined geographical area. The LAN is usually made up of servers, workstations, a network operating system, and communications links. In some LAN configurations, a bridge device may be inserted into a LAN to segment the LAN into multiple sub-networks. The bridge then maintains network traffic between devices on one sub-network contained within that sub-network to improve performance. Bridges typically build and maintain address tables of the devices on each sub-network. By monitoring which stations transmit from a particular address, a bridge learns which stations are attached to each sub-network. Sub-networks are sometimes referred to as “subnets” or “LAN segments.”
In general, bridges function based on the assumption that the bridge sees all transmitted data packets, on a given network or sub-network. Bridges typically operate in promiscuous mode, which may be defined as a condition, or mode, in which a network device accepts all packets on the network media of a certain protocol type, regardless of intended destination or destinations.
It is desirable that promiscuous mode devices see all data transmissions on a given network or sub-network in order to properly perform their respective functions. Examples of promiscuous mode devices include, but are not limited to, bridges, network monitors, protocol analyzers, RMON (Remote Network Monitoring) probes, and other network devices that accept all packets of a certain protocol type on the network media, regardless of intended destination or destinations.
For example, if the function of a network monitor device is to record all data packets on the network or sub-network then it is desirable, or necessary, for the network monitor device to see all data packets on the network or sub-network. Similarly, a learning bridge builds address tables based on inspection of data packets traversing the network or sub-network. If the learning bridge does not see all data packets traversing the network, the ability of the learning bridge to build address tables is impaired, which may result in unnecessary flooding of data packets to other, connected sub-networks. Hence, it is important for many applications that promiscuous mode devices see all data packets traversing the network or sub-network.
Some traditional LANs operate by broadcasting all data transmissions to all devices on a sub-network. That is, all devices on such a sub-network receive all data packets transmitted on the sub-network. Examples of this type of LAN include LANs pursuant to IEEE 802.3, 802.5, traditional Ethernet, and the like. In sub-networks such as these, a physical media delivers all data packets transmitted by a device on the sub-network to all devices on the sub-network. Each device on the sub-network then determines whether to process any given packet, based on, for example, the destination address of the packet. Promiscuous mode devices, however, process all received packets.
For example, FIG. 1 illustrates a conventional broadcast network 100, such as a network pursuant to IEEE 802.3, including sub-networks 102, 104, 106. A bridge 108 separates the sub-networks 102, 104, and 106. The sub-network 102 includes personal computers 122, 124, 126, and 128. The sub-network 104 includes personal computers 132, 134. The sub-network 106 includes a server 142 and a workstation 144.
In this configuration, the bridge 108 is set to operate in promiscuous mode and sees and processes all data packets sent on the sub-networks 102, 104, and 106. As such, the bridge 108 is able to populate learning tables (not shown) associated with the bridge 108 based on all of the traffic that passes between any of the devices on the network 100. For example, if workstation 144 and server 142 exchange data packets the bridge 108 updates its learning tables to indicate that the server 142 and workstation 144 are on the sub-network 106. Later, when personal computer 122 sends a data packet to the server 142, the bridge 108, using associated learning tables, forwards the data packet from sub-network 102 to sub-network 106, without forwarding the data packet to sub-network 104, such as by flooding. Thus, the bridge 108 improves the efficiency of the network 100 by not unnecessarily forwarding data packets onto sub-networks that do not include the destination device.
Advances in technology, however, have resulted in the development of LANs, MANs, and WANs where data transmissions, such as data packets, are multicast to fewer than all of the devices on the network or sub-network. One example of this type of network is a network pursuant to IEEE Draft P802.17/D1.0 Resilient Packet Ring (RPR) Aug. 12, 2002, which is hereby incorporated by reference and discloses spatial reuse. Spatial reuse employs a function referred to as destination stripping where a destination device removes from the network media data transmissions addressed to the destination device. This results in the difficulty that a bridge device, network monitor, or other promiscuous mode device, will see only a subset, rather than all, of the data transmissions on a network or sub-network. Thus, if a promiscuous mode device is downstream of the destination device of a given packet, the promiscuous mode device will not see the packet. This is because the destination device will remove the packet from the network media before the packet reaches the promiscuous mode device, thereby limiting the ability of the promiscuous mode device to perform its function.
Other types of networks in which data packets are sometimes transmitted to fewer than all devices on the network or sub-network include, for example, switched Ethernet networks, wireless networks pursuant to IEEE 802.11, passive optical networks pursuant to IEEE 802.3ah, and the like.
Therefore, if a network device in a multicast network operates in promiscuous mode, the ability of the network device operating in promiscuous mode to function properly may be impaired or frustrated by not seeing all data packets that traverse the associated network or sub-network.